@@ -185,7 +185,7 @@  | 
            ||
| 185 | 185 | 
                             {% endif %}
               | 
            
| 186 | 186 | 
                </script>  | 
            
| 187 | 187 | 
                <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  | 
            
| 188 | 
                -        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
               | 
            |
| 188 | 
                +        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
               | 
            |
| 189 | 189 | 
                <script>  | 
            
| 190 | 190 | 
                             V.initWxData({
               | 
            
| 191 | 191 | 
                imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",  | 
            
                @@ -47,7 +47,7 @@  | 
            ||
| 47 | 47 | 
                });  | 
            
| 48 | 48 | 
                </script>  | 
            
| 49 | 49 | 
                <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  | 
            
| 50 | 
                -        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
               | 
            |
| 50 | 
                +        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
               | 
            |
| 51 | 51 | 
                <script>  | 
            
| 52 | 52 | 
                             V.initWxData({
               | 
            
| 53 | 53 | 
                imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",  | 
            
                @@ -152,7 +152,7 @@  | 
            ||
| 152 | 152 | 
                 | 
            
| 153 | 153 | 
                <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>  | 
            
| 154 | 154 | 
                <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  | 
            
| 155 | 
                -        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
               | 
            |
| 155 | 
                +        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
               | 
            |
| 156 | 156 | 
                <script>  | 
            
| 157 | 157 | 
                             {% if modified %}
               | 
            
| 158 | 158 | 
                             $(function() {
               | 
            
                @@ -11,13 +11,17 @@  | 
            ||
| 11 | 11 | 
                timeLine: ''  | 
            
| 12 | 12 | 
                     }, wxConfig = {
               | 
            
| 13 | 13 | 
                hide: false,  | 
            
| 14 | 
                - close: false  | 
            |
| 14 | 
                + baseHide: false,  | 
            |
| 15 | 
                + close: false,  | 
            |
| 16 | 
                + hideMenuItems: [],  | 
            |
| 17 | 
                + showMenuItems: []  | 
            |
| 15 | 18 | 
                }, jsApiList = [  | 
            
| 16 | 19 | 
                'checkJsApi',  | 
            
| 17 | 20 | 
                'onMenuShareTimeline',  | 
            
| 18 | 21 | 
                'onMenuShareAppMessage',  | 
            
| 19 | 22 | 
                'onMenuShareQQ',  | 
            
| 20 | 23 | 
                'onMenuShareWeibo',  | 
            
| 24 | 
                + 'onMenuShareQZone',  | 
            |
| 21 | 25 | 
                'hideMenuItems',  | 
            
| 22 | 26 | 
                'showMenuItems',  | 
            
| 23 | 27 | 
                'hideAllNonBaseMenuItem',  | 
            
                @@ -82,6 +86,26 @@  | 
            ||
| 82 | 86 | 
                fixedWxData()  | 
            
| 83 | 87 | 
                }  | 
            
| 84 | 88 | 
                 | 
            
| 89 | 
                +    function hideMenuItems(items) {
               | 
            |
| 90 | 
                + wxConfig.hideMenuItems = items  | 
            |
| 91 | 
                + fixedWxData()  | 
            |
| 92 | 
                + }  | 
            |
| 93 | 
                +  | 
            |
| 94 | 
                +    function showMenuItems(items) {
               | 
            |
| 95 | 
                + wxConfig.showMenuItems = items  | 
            |
| 96 | 
                + fixedWxData()  | 
            |
| 97 | 
                + }  | 
            |
| 98 | 
                +  | 
            |
| 99 | 
                +    function hideAllNonBaseMenuItem() {
               | 
            |
| 100 | 
                + wxConfig.baseHide = true  | 
            |
| 101 | 
                + fixedWxData()  | 
            |
| 102 | 
                + }  | 
            |
| 103 | 
                +  | 
            |
| 104 | 
                +    function showAllNonBaseMenuItem() {
               | 
            |
| 105 | 
                + wxConfig.baseHide = false  | 
            |
| 106 | 
                + fixedWxData()  | 
            |
| 107 | 
                + }  | 
            |
| 108 | 
                +  | 
            |
| 85 | 109 | 
                     function closeWindow() {
               | 
            
| 86 | 110 | 
                wxConfig.close = true  | 
            
| 87 | 111 | 
                fixedWxData()  | 
            
                @@ -137,11 +161,40 @@  | 
            ||
| 137 | 161 | 
                wx.onMenuShareQQ(shareInfo(1))  | 
            
| 138 | 162 | 
                // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口  | 
            
| 139 | 163 | 
                wx.onMenuShareWeibo(shareInfo(1))  | 
            
| 164 | 
                + // 2.5 监听“分享到QQ空间”按钮点击、自定义分享内容及分享结果接口  | 
            |
| 165 | 
                + wx.onMenuShareQZone(shareInfo(1))  | 
            |
| 140 | 166 | 
                         }, wxMenuApi = function () {
               | 
            
| 141 | 167 | 
                // 8. 界面操作接口  | 
            
| 142 | 168 | 
                // 8.1 隐藏右上角菜单  | 
            
| 143 | 169 | 
                // 8.2 显示右上角菜单  | 
            
| 144 | 170 | 
                             if (wxConfig.hide) {wx.hideOptionMenu()} else {wx.showOptionMenu()}
               | 
            
| 171 | 
                + // 8.3 批量隐藏菜单项  | 
            |
| 172 | 
                +            if (wxConfig.hideMenuItems) {
               | 
            |
| 173 | 
                +                wx.hideMenuItems({
               | 
            |
| 174 | 
                + menuList: wxConfig.hideMenuItems,  | 
            |
| 175 | 
                +                    success: function (res) {
               | 
            |
| 176 | 
                +                        if (JSWE.wxHideMenuItemsSuccess) {JSWE.wxHideMenuItemsSuccess(res)}
               | 
            |
| 177 | 
                + },  | 
            |
| 178 | 
                +                    fail: function (res) {
               | 
            |
| 179 | 
                +                        if (JSWE.wxHideMenuItemsFail) {JSWE.wxHideMenuItemsFail(res)}
               | 
            |
| 180 | 
                + }  | 
            |
| 181 | 
                + });  | 
            |
| 182 | 
                + }  | 
            |
| 183 | 
                + // 8.4 批量显示菜单项  | 
            |
| 184 | 
                +            if (wxConfig.showMenuItems) {
               | 
            |
| 185 | 
                +                wx.showMenuItems({
               | 
            |
| 186 | 
                + menuList: wxConfig.showMenuItems,  | 
            |
| 187 | 
                +                    success: function (res) {
               | 
            |
| 188 | 
                +                        if (JSWE.wxShowMenuItemsSuccess) {JSWE.wxShowMenuItemsSuccess(res)}
               | 
            |
| 189 | 
                + },  | 
            |
| 190 | 
                +                    fail: function (res) {
               | 
            |
| 191 | 
                +                        if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
               | 
            |
| 192 | 
                + }  | 
            |
| 193 | 
                + });  | 
            |
| 194 | 
                + }  | 
            |
| 195 | 
                + // 8.5 隐藏所有非基本菜单项  | 
            |
| 196 | 
                + // 8.6 显示所有被隐藏的非基本菜单项  | 
            |
| 197 | 
                +            if (wxConfig.baseHide) {wx.hideAllNonBaseMenuItem()} else {wx.showAllNonBaseMenuItem()}
               | 
            |
| 145 | 198 | 
                // 8.7 关闭当前窗口  | 
            
| 146 | 199 | 
                             if (wxConfig.close) {wx.closeWindow()}
               | 
            
| 147 | 200 | 
                         }, wxApi = function () {
               | 
            
                @@ -188,45 +241,71 @@  | 
            ||
| 188 | 241 | 
                localIds: [],  | 
            
| 189 | 242 | 
                serverIds: []  | 
            
| 190 | 243 | 
                };  | 
            
| 191 | 
                -    function chooseImage(count, directUpload, isShowProgressTips) {
               | 
            |
| 192 | 
                -        if ('undefined' === typeof count) {count = 9}
               | 
            |
| 193 | 
                -        if ('undefined' === typeof directUpload) {directUpload = false}
               | 
            |
| 194 | 
                -        if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
               | 
            |
| 244 | 
                +    // function chooseImage(count, directUpload, isShowProgressTips) {
               | 
            |
| 245 | 
                +    function chooseImage(choose_params) {
               | 
            |
| 246 | 
                +        if ('undefined' === typeof choose_params) choose_params = {}
               | 
            |
| 195 | 247 | 
                         wx.chooseImage({
               | 
            
| 196 | 
                - count: count, // 默认9  | 
            |
| 197 | 
                - sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  | 
            |
| 198 | 
                - sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  | 
            |
| 248 | 
                + count: choose_params.count || 9, // 默认9  | 
            |
| 249 | 
                + sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  | 
            |
| 250 | 
                + sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  | 
            |
| 199 | 251 | 
                             success: function (res) {
               | 
            
| 200 | 
                - var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片  | 
            |
| 201 | 
                - images.localIds = localIds;  | 
            |
| 252 | 
                + images.localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片  | 
            |
| 202 | 253 | 
                // 判断是否直接上传  | 
            
| 203 | 
                -                if (directUpload) {setTimeout(uploadImages(localIds, isShowProgressTips), 100)}
               | 
            |
| 254 | 
                +                if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
               | 
            |
| 204 | 255 | 
                // 拍照、本地选图成功后的回调函数  | 
            
| 205 | 256 | 
                                 if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res)}
               | 
            
| 206 | 257 | 
                }  | 
            
| 207 | 258 | 
                });  | 
            
| 208 | 259 | 
                }  | 
            
| 209 | 260 | 
                 | 
            
| 261 | 
                + // 5.2 图片预览  | 
            |
| 262 | 
                +    function previewImage(preview_params) {
               | 
            |
| 263 | 
                +        wx.previewImage({
               | 
            |
| 264 | 
                + current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张  | 
            |
| 265 | 
                + urls: preview_params.urls // 需要预览的图片链接列表  | 
            |
| 266 | 
                + });  | 
            |
| 267 | 
                + }  | 
            |
| 268 | 
                +  | 
            |
| 210 | 269 | 
                // 5.3 上传图片  | 
            
| 211 | 
                -    function uploadImage(localId, isShowProgressTips) {
               | 
            |
| 270 | 
                +    // function uploadImage(localId, isShowProgressTips) {
               | 
            |
| 271 | 
                +    function uploadImage(upload_params) {
               | 
            |
| 212 | 272 | 
                // 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的  | 
            
| 213 | 273 | 
                         wx.uploadImage({
               | 
            
| 214 | 
                - localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得  | 
            |
| 215 | 
                - isShowProgressTips: 1, // 默认为1,显示进度提示  | 
            |
| 274 | 
                + localId: upload_params.localId, // 需要上传的图片的本地ID,由chooseImage接口获得  | 
            |
| 275 | 
                + isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示  | 
            |
| 216 | 276 | 
                             success: function (res) {
               | 
            
| 217 | 
                - var serverId = res.serverId; // 返回图片的服务器端ID  | 
            |
| 218 | 
                - images.serverIds.push(serverId);  | 
            |
| 277 | 
                + images.serverIds.push(res.serverId); // 返回图片的服务器端ID  | 
            |
| 219 | 278 | 
                // 上传图片成功后的回调函数  | 
            
| 220 | 279 | 
                                 if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res)}
               | 
            
| 221 | 280 | 
                }  | 
            
| 222 | 281 | 
                });  | 
            
| 223 | 282 | 
                }  | 
            
| 224 | 283 | 
                 | 
            
| 225 | 
                -    function uploadImages(localIds, isShowProgressTips) {
               | 
            |
| 226 | 
                -        if ('undefined' === typeof localIds) {localIds = images.localIds}
               | 
            |
| 227 | 
                -        if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
               | 
            |
| 284 | 
                +    // function uploadImages(localIds, isShowProgressTips) {
               | 
            |
| 285 | 
                +    function uploadImages(upload_params) {
               | 
            |
| 286 | 
                + var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1  | 
            |
| 228 | 287 | 
                images.serverIds = [];  | 
            
| 229 | 
                -        for (var index in localIds) {uploadImage(localIds[index], isShowProgressTips)}
               | 
            |
| 288 | 
                +        for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
               | 
            |
| 289 | 
                + }  | 
            |
| 290 | 
                +  | 
            |
| 291 | 
                + // 9 微信原生接口  | 
            |
| 292 | 
                + // 9.1.1 扫描二维码并返回结果  | 
            |
| 293 | 
                + // 9.1.2 扫描二维码并返回结果  | 
            |
| 294 | 
                +    function scanQRCode(scan_params) {
               | 
            |
| 295 | 
                +        if ('undefined' === typeof scan_params) scan_params = {}
               | 
            |
| 296 | 
                +        wx.scanQRCode({
               | 
            |
| 297 | 
                + needResult: scan_params.needResult || 0, // 默认为0,0扫描结果由微信处理,1直接返回扫描结果  | 
            |
| 298 | 
                + scanType: scan_params.scanType || ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有  | 
            |
| 299 | 
                +            success: function (res) {  // 当 needResult 为 1 时,扫码返回的结果
               | 
            |
| 300 | 
                +                if (JSWE.wxScanQRCodeSuccess) {JSWE.wxScanQRCodeSuccess(res)}
               | 
            |
| 301 | 
                + }  | 
            |
| 302 | 
                + });  | 
            |
| 303 | 
                + }  | 
            |
| 304 | 
                +  | 
            |
| 305 | 
                + // QRCode & BarCode is different  | 
            |
| 306 | 
                +    function parseScanQRCodeResultStr(resultStr) {
               | 
            |
| 307 | 
                +        var strs = resultStr.split(',')
               | 
            |
| 308 | 
                + return strs[strs.length - 1]  | 
            |
| 230 | 309 | 
                }  | 
            
| 231 | 310 | 
                 | 
            
| 232 | 311 | 
                // 10 微信支付接口  | 
            
                @@ -277,6 +356,10 @@  | 
            ||
| 277 | 356 | 
                // Menu Function  | 
            
| 278 | 357 | 
                hideOptionMenu: hideOptionMenu,  | 
            
| 279 | 358 | 
                showOptionMenu: showOptionMenu,  | 
            
| 359 | 
                + hideMenuItems: hideMenuItems,  | 
            |
| 360 | 
                + showMenuItems: showMenuItems,  | 
            |
| 361 | 
                + hideAllNonBaseMenuItem: hideAllNonBaseMenuItem,  | 
            |
| 362 | 
                + showAllNonBaseMenuItem: showAllNonBaseMenuItem,  | 
            |
| 280 | 363 | 
                closeWindow: closeWindow,  | 
            
| 281 | 364 | 
                 | 
            
| 282 | 365 | 
                // Share Function  | 
            
                @@ -287,9 +370,14 @@  | 
            ||
| 287 | 370 | 
                // Image Function  | 
            
| 288 | 371 | 
                images: images,  | 
            
| 289 | 372 | 
                chooseImage: chooseImage,  | 
            
| 373 | 
                + previewImage: previewImage,  | 
            |
| 290 | 374 | 
                uploadImage: uploadImage,  | 
            
| 291 | 375 | 
                uploadImages: uploadImages,  | 
            
| 292 | 376 | 
                 | 
            
| 377 | 
                + // Scan Function  | 
            |
| 378 | 
                + scanQRCode: scanQRCode,  | 
            |
| 379 | 
                + parseScanQRCodeResultStr: parseScanQRCodeResultStr,  | 
            |
| 380 | 
                +  | 
            |
| 293 | 381 | 
                // Pay Function  | 
            
| 294 | 382 | 
                chooseWXPay: chooseWXPay,  | 
            
| 295 | 383 | 
                 | 
            
                @@ -47,7 +47,7 @@  | 
            ||
| 47 | 47 | 
                 | 
            
| 48 | 48 | 
                <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>  | 
            
| 49 | 49 | 
                <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  | 
            
| 50 | 
                -        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
               | 
            |
| 50 | 
                +        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
               | 
            |
| 51 | 51 | 
                <script>  | 
            
| 52 | 52 | 
                             V.initWxData({
               | 
            
| 53 | 53 | 
                imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",  | 
            
                @@ -49,7 +49,7 @@  | 
            ||
| 49 | 49 | 
                 | 
            
| 50 | 50 | 
                <script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>  | 
            
| 51 | 51 | 
                <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  | 
            
| 52 | 
                -        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.1.js' %}"></script>
               | 
            |
| 52 | 
                +        <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.2.js' %}"></script>
               | 
            |
| 53 | 53 | 
                <script>  | 
            
| 54 | 54 | 
                             V.initWxData({
               | 
            
| 55 | 55 | 
                imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",  |